這是簡易版的協作過程,且只包含上線前的流程。
main, dev. 指令為 git clone <repo>
dev,main在正式上線前不動。)當目前的 Issue 完成時,即可從自己的分支,發 PR 到主幹dev上。這時有幾種情況:
當遠端主要分支dev接受了其他人的 PR 時,這時候其歷史和檔案內容就可能與本地當初下載的dev不一樣。這時候要先 fetch 下最先的版本,本地分支 merge 或是 rebase 最新版本。至於選哪個要看個人選擇,因為 merge 會長出新的節點並保留平行線,rebase 則會接到新的版本上,保持一條線的整潔,但會喪失正確的歷史紀錄。
不論是 merge 或是 rebase 時,只要遇到衝突時,merge、rebase 就會停下來,這時候就手動去解不一致的檔案內容。
決定好後,我們就可以繼續。這時候會下 git add ..... ,然後 git commit -m 'message' 或是 git rebase --continue。
但假釋不幸少打指令參數, merge 或是 rebase 都有可能遇到要求增加 commit 文字的問題。這時候可能會自動跳入 vim 要求我們寫下我們的 commit 敘述。如何操作可以參考最下面的 Vim 操作。
好了後,merge 應該就結束了,而 rebase 則要看情況,有的時候要繼續跑 git rebase --continue 直到完成。
我們的目標很簡單,就是寫入commit 描述而已。所以在 vim 介面中我們要做以下步驟:
i => 進入 編輯模式# 開頭的一行打下 commit 描述Esc => 跳出 編輯模式:wq 並按 Enter 結束 Vim。